Lua

Lua
Lua-Logo
Lua-Logo
Basisdaten
Paradigmen: Skriptsprache, imperativ, funktional
Erscheinungsjahr: 1993
Designer: Roberto Ierusalimschy
Entwickler: Roberto Ierusalimschy,
Waldemar Celes,
Luiz Henrique de Figueiredo
Aktuelle Version 5.4.6[1] (14. Mai 2023)
Typisierung: dynamisch, schwach (weak typing)
Wichtige Implementierungen: Lua, LuaJIT[2], LLVM-Lua[3], LuaCLR[4]
Dialekte: Metalua, Idle, GSL Shell
Beeinflusst von: C++, CLU, Modula, Scheme, SNOBOL
Beeinflusste: Falcon, GameMonkey, Io, JavaScript, Julia, MiniD, MoonScript, Red, Ruby, Squirrel
Betriebssystem: plattformunabhängig
Lizenz: MIT-Lizenz
www.lua.org

Lua (portugiesisch für Mond) ist eine imperative und erweiterbare Skriptsprache zum Einbinden in Programme, um diese leichter weiterentwickeln und warten zu können. Eine der besonderen Eigenschaften von Lua ist die geringe Größe des kompilierten Skript-Interpreters.

Lua-Programme sind meist plattformunabhängig und werden vor der Ausführung in Bytecode übersetzt. Obwohl man mit Lua auch eigenständige Programme schreiben kann, ist sie vorrangig als eingebettete Skriptsprache für andere Programme konzipiert. In dieser Hinsicht ist sie mit Tcl vergleichbar. Vorteile von Lua sind die geringe Größe von 120 kB, die Erweiterbarkeit und die hohe Geschwindigkeit, verglichen mit anderen Skriptsprachen.

Der Lua-Interpreter kann über eine C-Bibliothek angesprochen werden, die auch ein API für die Laufzeitumgebung des Interpreters für Aufrufe vom C-Programm aus enthält. Mittels des API können verschiedene Teile des Programmes in C (oder C++) und Lua geschrieben werden, während Variablen und Funktionen in beiden Richtungen erreichbar bleiben (d. h. eine Funktion in Lua kann eine Funktion in C/C++ aufrufen und umgekehrt).

Es gibt auch einen freien JIT-Compiler namens LuaJIT, der die Revision 5.1 der Sprache unterstützt.[2]

Lua ist in ANSI-C implementiert und unterstützt imperative und funktionale Programmierung. Implementiert man jedoch selbst Objekte mittels Metatables, wird auch objektorientierte Programmierung möglich.

  1. Luiz Henrique de Figueiredo: [ANN] Lua 5.4.6 now available. 14. Mai 2023 (englisch, abgerufen am 14. Mai 2023).
  2. a b LuaJIT. Abgerufen am 26. Februar 2017 (englisch).
  3. LLVM-Lua. Abgerufen am 26. Februar 2017 (englisch).
  4. LuaCLR. Abgerufen am 3. Januar 2016 (englisch).

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search